--------------------------------------------------------------------------
-- $File: //scripts/astrada/ServerModInfo.lua $
-- $Revision$
-- $Date$
-- $Author$
--
-- $Id$
--------------------------------------------------------------------------
-- This file is maintained as part of the SSM AEGIS project. All additions
-- are the sole work of their authors to which all copyright and ownership
-- resides. However, each author grants license for the use of his or her
-- work to be a part of the SSM AEGIS project.
--
--  (C), Daniel 'Rod-Serling' Phelps, 2008
--  (C), Terry 'Charlie' Reinert, 2008
--------------------------------------------------------------------------
--  This work is based off of:
--	(C), Ralf 'Hawkeye' Ullrich, 2008
--	ServerModInfo.lua,v 1.1.2.1 2008/07/29 10:41:38
--  See crysis.jnana.de for full original versions.
--------------------------------------------------------------------------

-- ===============================================
-- Server Side Modification Info Tables
-- ===============================================

-- this file replicates data, that is inaccessible
-- through Crysis' LUA API.

XDamageCategory = {
	normal						= "direct";
	repair						= "direct";
	lockpick					= "direct";
	frost						= "direct";
	fire						= "delayed";
	radiation					= "delayed";



	melee						= "direct";
	fall						= "direct";
	collision					= "direct";
	event						= "direct";
	punish						= "direct";
	aacannon					= "direct";
	emp						= "delayed";
	tac						= "delayed";

	ht_alienmount_ACMO				= "direct";
	ht_AYBullet					= "direct";
	ht_Bullet					= "direct";
	ht_FYBullet					= "direct";
	ht_GaussBullet					= "direct";
	ht_HurricaneBullet				= "direct";
	ht_ShotgunShell					= "direct";
	ht_SMGBullet					= "direct";
	ht_SniperBullet					= "direct";
	ht_LightBullet					= "direct";
	ht_TACGunProjectile				= "direct";
	ht_SCARGrenade					= "delayed";
	ht_Rocket					= "delayed";
	ht_FGL40FragGrenade				= "delayed";
	ht_ExplosiveGrenade				= "delayed";
	ht_C4Explosive					= "delayed";
	ht_AVExplosive					= "delayed";
	ht_AACannon					= "direct";
	ht_AARocketLauncher				= "delayed";
	ht_AHMachinegun					= "direct";
	ht_APCCannon					= "direct";
	ht_GaussCannon					= "direct";
	ht_USTankCannon					= "direct";
	ht_VehicleGaussMounted				= "direct";
	ht_VehicleMOACMounted				= "direct";
	ht_VehicleMOARMounted				= "direct";
	ht_VehicleTAC					= "direct";
};


XVehicleInfo = {};

-- patch vehicle info, to create a fallback
-- from Shooter to Player. This is necessary,
-- so you still can mod other weapons damage
-- as usual and it will affect Shooter and
-- Player in the same way.
XVehicleInfo.Shooter = {
        Parent = 'Player';
}


XVehicleInfo.Vehicle_NoArmor = {
	Parent = "Vehicle";
	DefaultPart = "Dummy";
	PartsById = {
	};
	PartsByBounds = {
	};
	Parts = {
		Dummy = {
			damageKey = "hull";
			damageMax = 32768;
		};
	};
};
XVehicleInfo.Vehicle_LightArmor = {
	Parent = "Vehicle";
	DefaultPart = "Dummy";
	PartsById = {
	};
	PartsByBounds = {
	};
	Parts = {
		Dummy = {
			damageKey = "hull";
			damageMax = 32768;
		};
	};
};
XVehicleInfo.Vehicle_HeavyArmor = {
	Parent = "Vehicle";
	DefaultPart = "Dummy";
	PartsById = {
	};
	PartsByBounds = {
	};
	Parts = {
		Dummy = {
			damageKey = "hull";
			damageMax = 32768;
		};
	};
};


XVehicleInfo.Asian_aaa = {
	Parent = "Vehicle_LightArmor";
	DefaultPart = "hull";
	PartsById = {
		[ 2] = "leftTread";
		[ 3] = "leftTread";
		[ 4] = "leftTread";
		[ 5] = "leftTread";
		[ 6] = "leftTread";
		[ 7] = "leftTread";
		[ 8] = "leftTread";
		[10] = "rightTread";
		[11] = "rightTread";
		[12] = "rightTread";
		[13] = "rightTread";
		[14] = "rightTread";
		[15] = "rightTread";
		[16] = "rightTread";
	};
	PartsByBounds = {
		{
			part = "back";
			maxBound	= { x= 0.85, y=-2.83, z= 1.70 };
			minBound	= { x=-0.71, y=-3.50, z= 0.64 };
		};
		{
			part = "leftTread";
			maxBound	= { x=-1.08, y= 3.20, z= 1.20 };
			minBound	= { x=-1.63, y=-3.70, z=-0.22 };
		};
		{
			part = "rightTread";
			maxBound	= { x= 1.63, y= 3.20, z= 1.20 };
			minBound	= { x= 1.08, y=-3.70, z=-0.22 };
		};
		{
			part = "radar";
			maxBound	= { x= 1.50, y= 1.25, z= 4.20 };
			minBound	= { x=-1.50, y=-1.75, z= 3.00 };
		};
		{
			part = "turret";
			maxBound	= { x= 2.00, y= 2.00, z= 4.00 };
			minBound	= { x=-2.00, y=-2.50, z= 2.00 };
		};
		--[[{
			part = "hull";
			maxBound	= { x= 2.00, y= 3.50, z= 4.00 };
			minBound	= { x=-2.00, y=-4.00, z= 0.00 };
		};]]
	};
	Parts = {
		back = {
			damageKey = "back";
			damageMax = 400;
			hullAffection = 1;
			major = false;
		};
		leftTread = {
			damageKey = "tread";
			damageMax = 200;
			hullAffection = 0.75;
			major = false;
		};
		rightTread = {
			damageKey = "tread";
			damageMax = 200;
			hullAffection = 0.75;
			major = false;
		};
		turret = {
			damageKey = "turret";
			damageMax = 300;
			hullAffection = 0.3;
			major = true;
		};
		hull = {
			damageKey = "hull";
			damageMax = 500;
			major = true;
		};
		radar = {
			damageKey = "radar";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.Asian_aaa_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_aaa),{
	Parent = "Asian_aaa";
	Parts = {
		hull = {
			damageMax = 650;
		};
	};
});
XVehicleInfo.Asian_aaa_SAM = XMergeTable(XCloneTable(XVehicleInfo.Asian_aaa),{
	Parent = "Asian_aaa";
});
XVehicleInfo.Asian_aaa_GaussCannon = XMergeTable(XCloneTable(XVehicleInfo.Asian_aaa),{
	Parent = "Asian_aaa";
});

XVehicleInfo.Asian_apc = {
	Parent = "Vehicle_HeavyArmor";
	DefaultPart = "hull";
	PartsById = {
		[ 1] = "wheel1";
		[ 2] = "wheel2";
		[ 3] = "wheel3";
		[ 4] = "wheel4";
		[ 5] = "wheel5";
		[ 6] = "wheel6";
		[ 7] = "wheel7";
		[ 8] = "wheel8";
	};
	PartsByBounds = {
		{
			part = "engine";
			maxBound	= { x= 1.64, y= 3.33, z= 2.36 };
			minBound	= { x=-1.56, y= 1.32, z= 1.01 };
		};
		{
			part = "turret";
			maxBound	= { x= 3.00, y= 2.00, z= 3.50 };
			minBound	= { x=-3.00, y=-3.20, z= 2.44 };
		};
		--[[{
			part = "hull";
			maxBound	= { x= 2.00, y= 4.30, z= 2.44 };
			minBound	= { x=-2.00, y=-4.00, z= 0.00 };
		};]]
	};
	Parts = {
		engine = {
			damageKey = "engine";
			damageMax = 450;
			hullAffection = 1;
			major = true;
		};
		turret = {
			damageKey = "turret";
			damageMax = 650;
			hullAffection = 0.75;
			major = true;
		};
		hull = {
			damageKey = "hull";
			damageMax = 750;
			major = true;
		};
		wheel1 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel2 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel3 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel4 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel5 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel6 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel7 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
		wheel8 = {
			damageKey = "wheel";
			damageMax = 50;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.Asian_apc_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_apc),{
	Parent = "Asian_apc";
});
XVehicleInfo.Asian_apc_GaussCannon = XMergeTable(XCloneTable(XVehicleInfo.Asian_apc),{
	Parent = "Asian_apc";
});
XVehicleInfo.Asian_apc_MOAC = XMergeTable(XCloneTable(XVehicleInfo.Asian_apc),{
	Parent = "Asian_apc";
});


XVehicleInfo.Asian_helicopter = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
	};
	PartsByBounds = {
		{
			part = "BackRotor";
			maxBound	= { x= 1.60, y=-10.57, z= 5.31 };
			minBound	= { x=-1.60, y=-13.94, z= 1.70 };
		};
		{
			part = "Rotor";
			maxBound	= { x= 1.75, y= 1.93, z=3.70 };
			minBound	= { x=-1.75, y=-3.06, z=2.03 };
		};
		{
			part = "RotorTails";
			maxBound	= { x= 9.49, y= 9.49, z= 3.91 };
			minBound	= { x=-9.49, y=-9.49, z= 3.04 };
		};
		{
			part = "LeftWing";
			maxBound	= { x=-1.30, y= 0.55, z= 1.73 };
			minBound	= { x=-3.71, y=-4.55, z= 0.00 };
		};
		{
			part = "RightWing";
			maxBound	= { x= 3.71, y= 0.55, z=1.73 };
			minBound	= { x= 1.30, y=-4.55, z=0.00 };
		};
		--[[{
			part = "Hull";
			maxBound	= { x= 9.10, y=  8.99, z= 5.43 };
			minBound	= { x=-8.84, y=-14.02, z=-0.95 };
		};]]
	};
	Parts = {
		BackRotor = {
			damageKey = "backRotor";
			damageMax = 150;
			hullAffection = 0.75;
			major = true;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 300;
			major = true;
		};
		LeftWing = {
			damageKey = "wing";
			damageMax = 150;
			hullAffection = 1;
			major = false;
		};
		RightWing = {
			damageKey = "wing";
			damageMax = 150;
			hullAffection = 0.75;
			major = false;
		};
		Rotor = {
			damageKey = "rotor";
			damageMax = 200;
			hullAffection = 0;
			major = true;
		};
		RotorTails = {
			damageKey = "rotorTails";
			damageMax = 100;
			hullAffection = 0;
			major = false;
		};
	};
};
XVehicleInfo.Asian_helicopter_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_helicopter),{
	Parent = "Asian_helicopter";
});
XVehicleInfo.Asian_helicopter_LowBudget = XMergeTable(XCloneTable(XVehicleInfo.Asian_helicopter),{
	Parent = "Asian_helicopter";
});

XVehicleInfo.Asian_ltv = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
		[ 1] = "wheel1";
		[ 2] = "wheel2";
		[ 3] = "wheel3";
		[ 4] = "wheel4";
	};
	PartsByBounds = {
		{
			part = "headLightLeft";
			maxBound	= { x=-0.40, y= 3.34, z= 1.24 };
			minBound	= { x=-0.77, y= 3.08, z= 1.04 };
		};
		{
			part = "headLightRight";
			maxBound	= { x= 0.77, y= 3.34, z= 1.24 };
			minBound	= { x= 0.40, y= 3.08, z= 1.04 };
		};
		{
			part = "rearLightLeft";
			maxBound	= { x=-0.83, y=-2.15, z= 1.23 };
			minBound	= { x=-1.14, y=-2.38, z= 1.06 };
		};
		{
			part = "rearLightRight";
			maxBound	= { x= 1.14, y=-2.15, z= 1.23 };
			minBound	= { x= 0.83, y=-2.38, z= 1.06 };
		};
		{
			part = "FuelCan";
			maxBound	= { x=-0.28, y=-2.24, z= 1.51 };
			minBound	= { x=-0.66, y=-2.54, z= 1.01 };
		};
		{
			part = "sparewheel";
			maxBound	= { x= 0.93, y=-2.28, z= 2.00 };
			minBound	= { x=-0.28, y=-2.78, z= 0.86 };
		};
		{
			part = "Engine";
			maxBound	= { x= 1.20, y= 3.35, z= 1.69 };
			minBound	= { x=-1.23, y= 1.76, z= 0.56 };
		};
		--[[
			part = "Hull";
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
		};]]
	};
	Parts = {
		Engine = {
			damageKey = "engine";
			damageMax = 160;
			hullAffection = 1;
			major = true;
		};
		FuelCan = {
			damageKey = "fuelcan";
			damageMax = 45;
			hullAffection = 1;
			major = true;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 180;
			major = true;
		};
		headLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		headLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		sparewheel = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = false;
		};
		wheel1 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel2 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel3 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel4 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.Asian_ltv_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_ltv),{
	Parent = "Asian_ltv";
});
XVehicleInfo.Asian_ltv_Unarmed = XMergeTable(XCloneTable(XVehicleInfo.Asian_ltv),{
	Parent = "Asian_ltv";
});
XVehicleInfo.Asian_ltv_Gauss = XMergeTable(XCloneTable(XVehicleInfo.Asian_ltv),{
	Parent = "Asian_ltv";
});
XVehicleInfo.Asian_ltv_MOAC = XMergeTable(XCloneTable(XVehicleInfo.Asian_ltv),{
	Parent = "Asian_ltv";
});
XVehicleInfo.Asian_ltv_MOAR = XMergeTable(XCloneTable(XVehicleInfo.Asian_ltv),{
	Parent = "Asian_ltv";
});

XVehicleInfo.Asian_patrolboat = {
	Parent = "Vehicle_LightArmor";
	DefaultPart = "Hull";
	PartsById = {
	};
	PartsByBounds = {
	};
	Parts = {
		Hull = {
			damageKey = "hull";
			damageMax = 1250;
			major = true;
		};
	};
};
XVehicleInfo.Asian_patrolboat_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_patrolboat),{
	Parent = "Asian_patrolboat";
});
XVehicleInfo.Asian_patrolboat_Gauss = XMergeTable(XCloneTable(XVehicleInfo.Asian_patrolboat),{
	Parent = "Asian_patrolboat";
});
XVehicleInfo.Asian_patrolboat_MOAC = XMergeTable(XCloneTable(XVehicleInfo.Asian_patrolboat),{
	Parent = "Asian_patrolboat";
});
XVehicleInfo.Asian_patrolboat_MOAR = XMergeTable(XCloneTable(XVehicleInfo.Asian_patrolboat),{
	Parent = "Asian_patrolboat";
});



XVehicleInfo.Asian_tank = {
	Parent = "Vehicle_HeavyArmor";
	DefaultPart = "hull";
	PartsById = {
		[ 1] = "leftTread";
		[ 2] = "leftTread";
		[ 3] = "leftTread";
		[ 4] = "leftTread";
		[ 5] = "leftTread";
		[ 6] = "leftTread";
		[ 7] = "leftTread";
		[ 8] = "leftTread";
		[ 9] = "leftTread";
		[10] = "rightTread";
		[11] = "rightTread";
		[12] = "rightTread";
		[13] = "rightTread";
		[14] = "rightTread";
		[15] = "rightTread";
		[16] = "rightTread";
		[17] = "rightTread";
		[18] = "rightTread";
	};
	PartsByBounds = {
		{
			part = "FuelTankLeft";
			maxBound	= { x=-0.12, y=-5.02, z= 2.17 };
			minBound	= { x=-1.34, y=-5.87, z= 1.24 };
		};
		{
			part = "FuelTankRight";
			maxBound	= { x= 1.37, y=-5.02, z= 2.17 };
			minBound	= { x= 0.19, y=-5.87, z= 1.24 };
		};
		{
			part = "leftTread";
			maxBound	= { x=-1.08, y= 3.04, z= 1.33 };
			minBound	= { x=-1.95, y=-4.88, z=-0.22 };
		};
		{
			part = "rightTread";
			maxBound	= { x= 1.95, y= 3.04, z= 1.33 };
			minBound	= { x= 1.08, y=-4.88, z=-0.22 };
		};
		{
			part = "engine";
			maxBound	= { x= 1.52, y=-3.18, z= 2.00 };
			minBound	= { x=-1.52, y=-5.22, z= 0.50 };
		};
		{
			part = "turret";
			maxBound	= { x= 3.50, y= 2.50, z= 3.00 };
			minBound	= { x=-3.50, y=-4.00, z= 1.95 };
			volume = 47.775;
		};
		--[[{
			part = "hull";
			maxBound	= { x=2, y=3.2268, z=1.95 };
			minBound	= { x=-2, y=-5.1052, z=0.7 };
			volume = 41.66;
		};]]
	};
	Parts = {
		FuelTankLeft = {
			DamageKey = "fueltank";
			damageMax = 100;
			hullAffection = 1;
			major = false;
		};
		FuelTankRight = {
			DamageKey = "fueltank";
			damageMax = 100;
			hullAffection = 1;
			major = false;
		};
		engine = {
			DamageKey = "engine";
			damageMax = 700;
			hullAffection = 1;
			major = true;
		};
		hull = {
			DamageKey = "hull";
			damageMax = 1200;
			major = true;
		};
		leftTread = {
			DamageKey = "tread";
			damageMax = 490;
			hullAffection = 0.75;
			major = true;
		};
		rightTread = {
			DamageKey = "tread";
			damageMax = 490;
			hullAffection = 0.75;
			major = true;
		};
		turret = {
			DamageKey = "turret";
			damageMax = 800;
			hullAffection = 0.75;
			major = true;
		};
	};
};
XVehicleInfo.Asian_tank_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});
XVehicleInfo.Asian_tank_GaussCannon = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});
XVehicleInfo.Asian_tank_TACCannon = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});
XVehicleInfo.Asian_tank_MOAC = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});
XVehicleInfo.Asian_tank_MOAR = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});
XVehicleInfo.Asian_tank_Singularity = XMergeTable(XCloneTable(XVehicleInfo.Asian_tank),{
	Parent = "Asian_tank";
});


XVehicleInfo.Asian_truck = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
		[ 1] = "wheel1";
		[ 2] = "wheel2";
		[ 3] = "wheel3";
		[ 4] = "wheel4";
		[ 5] = "wheel5";
		[ 6] = "wheel6";
	};
	PartsByBounds = {
		{
			part = "headLightLeft";
			maxBound	= { x=-0.76, y= 3.85, z= 1.67 };
			minBound	= { x=-1.10, y= 3.62, z= 1.42 };
		};
		{
			part = "headLightRight";
			maxBound	= { x= 1.10, y= 3.85, z= 1.67 };
			minBound	= { x= 0.76, y= 3.62, z= 1.42 };
		};
		{
			part = "rearLightsLeft";
			maxBound	= { x=-0.78, y=-4.78, z= 1.13 };
			minBound	= { x=-1.09, y=-5.01, z= 0.96 };
		};
		{
			part = "rearLightsRight";
			maxBound	= { x= 1.09, y=-4.78, z= 1.13 };
			minBound	= { x= 0.78, y=-5.01, z= 0.96 };
		};
		{
			part = "sparewheel";
			maxBound	= { x= 1.10, y= 1.98, z= 3.00 };
			minBound	= { x=-0.18, y= 1.47, z= 1.69 };
		};
		{
			part = "LeftFuelTank";
			maxBound	= { x=-0.69, y= 1.24, z= 1.17 };
			minBound	= { x=-1.35, y= 0.18, z= 0.57 };
		};
		{
			part = "RightFuelTank";
			maxBound	= { x= 1.35, y= 1.24, z= 1.17 };
			minBound	= { x= 0.69, y= 0.18, z= 0.57 };
		};
		{
			part = "Engine";
			maxBound	= { x= 1.31, y= 3.89, z= 2.19 };
			minBound	= { x=-1.24, y= 1.91, z= 1.08 };
		};
		--[[{
			part = "Hull";
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
		};]]
	};
	Parts = {
		Engine = {
			damageKey = "engine";
			damageMax = 400;
			hullAffection = 1;
			major = true;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 600;
			major = true;
		};
		LeftFuelTank = {
			damageKey = "fuelcan";
			damageMax = 120;
			hullAffection = 0;
			major = true;
		};
		RightFuelTank = {
			damageKey = "fuelcan";
			damageMax = 120;
			hullAffection = 0;
			major = true;
		};
		headLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		headLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightsLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightsRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		sparewheel = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = false;
		};
		wheel1 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
		wheel2 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
		wheel3 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
		wheel4 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
		wheel5 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
		wheel6 = {
			damageKey = "wheel";
			damageMax = 150;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.Asian_truck_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_Hardtop = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_Hardtop_MP = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_Spawntruck = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_Unarmed = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_Gauss = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_MOAC = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});
XVehicleInfo.Asian_truck_MOAR = XMergeTable(XCloneTable(XVehicleInfo.Asian_truck),{
	Parent = "Asian_truck";
});


XVehicleInfo.Civ_car1 = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
		[ 1] = "wheel1";
		[ 2] = "wheel2";
		[ 3] = "wheel3";
		[ 4] = "wheel4";
	};
	PartsByBounds = {
		{
			part = "headLightLeft";
			maxBound	= { x=-0.50, y= 2.85, z= 1.20 };
			minBound	= { x=-0.85, y= 2.55, z= 0.95 };
		};
		{
			part = "headLightRight";
			maxBound	= { x= 0.85, y= 2.85, z= 1.20 };
			minBound	= { x= 0.50, y= 2.55, z= 0.95 };
		};
		{
			part = "rearLightsLeft";
			maxBound	= { x=-0.85, y=-2.45, z= 1.50 };
			minBound	= { x=-1.00, y=-2.70, z= 1.10 };
		};
		{
			part = "rearLightsRight";
			maxBound	= { x= 1.00, y=-2.45, z= 1.50 };
			minBound	= { x= 0.85, y=-2.70, z= 1.10 };
		};
		{
			part = "Engine";
			maxBound	= { x= 0.70, y= 2.75, z= 1.50 };
			minBound	= { x=-0.70, y= 1.47, z= 0.58 };
		};
		--[[Hull = {
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
		};]]
	};
	Parts = {
		Engine = {
			damageKey = "engine";
			damageMax = 100;
			hullAffection = 0.5;
			major = true;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 150;
			major = true;
		};
		headLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		headLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightsLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightsRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		wheel1 = {
			damageKey = "wheel";
			damageMax = 80;
			hullAffection = 0;
			major = true;
		};
		wheel2 = {
			damageKey = "wheel";
			damageMax = 80;
			hullAffection = 0;
			major = true;
		};
		wheel3 = {
			damageKey = "wheel";
			damageMax = 80;
			hullAffection = 0;
			major = true;
		};
		wheel4 = {
			damageKey = "wheel";
			damageMax = 80;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.Civ_car1_MP = XMergeTable(XCloneTable(XVehicleInfo.Civ_car1),{
	Parent = "Civ_car1";
});
XVehicleInfo.Civ_car1_PoliceCar = XMergeTable(XCloneTable(XVehicleInfo.Civ_car1),{
	Parent = "Civ_car1";
});


XVehicleInfo.Civ_speedboat = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "hull";
	PartsById = {
	};
	PartsByBounds = {
		{
			part = "leftEngine";
			maxBound	= { x=-0.10, y=-3.70, z= 2.20 };
			minBound	= { x=-0.85, y=-4.80, z= 0.29 };
		};
		{
			part = "rightEngine";
			maxBound	= { x= 0.85, y=-3.70, z= 2.20 };
			minBound	= { x= 0.10, y=-4.80, z= 0.29 };
		};
		--[[{
			part = "hull";
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
		};]]
	};
	Parts = {
		hull = {
			damageKey = "hull";
			damageMax = 600;
			major = true;
		};
		leftEngine = {
			damageKey = "engine";
			damageMax = 150;
			hullAffection = 0.2;
			major = true;
		};
		rightEngine = {
			damageKey = "engine";
			damageMax = 150;
			hullAffection = 0.2;
			major = true;
		};
	};
};
XVehicleInfo.Civ_speedboat_MP = XMergeTable(XCloneTable(XVehicleInfo.Civ_speedboat),{
	Parent = "Civ_speedboat";
});
XVehicleInfo.Civ_speedboat_Roofed = XMergeTable(XCloneTable(XVehicleInfo.Civ_speedboat),{
	Parent = "Civ_speedboat";
});


XVehicleInfo.US_apc = {
	Parent = "Vehicle_LightArmor";
	DefaultPart = "hull";
	PartsById = {
		[ 1] = "leftTread";
		[ 2] = "leftTread";
		[ 3] = "leftTread";
		[ 4] = "leftTread";
		[ 5] = "leftTread";
		[ 6] = "leftTread";
		[ 7] = "leftTread";
		[ 8] = "leftTread";
		[ 9] = "rightTread";
		[10] = "rightTread";
		[11] = "rightTread";
		[12] = "rightTread";
		[13] = "rightTread";
		[14] = "rightTread";
		[15] = "rightTread";
		[16] = "rightTread";
	};
	PartsByBounds = {
		{
			part = "leftTread";
			maxBound	= { x=-1.10, y= 3.50, z= 1.34 };
			minBound	= { x=-1.75, y=-3.65, z=-0.22 };
		};
		{
			part = "rightTread";
			maxBound	= { x= 1.75, y= 3.50, z= 1.34 };
			minBound	= { x= 1.10, y=-3.65, z=-0.22 };
		};
		{
			part = "engine";
			maxBound	= { x= 1.38, y= 3.44, z= 2.00 };
			minBound	= { x=-1.29, y= 1.21, z= 0.64 };
		};
		{
			part = "turret";
			maxBound	= { x= 2.50, y= 2.50, z= 3.30 };
			minBound	= { x=-2.50, y=-3.20, z= 2.20 };
		};
		--[[{
			part = "hull";
			maxBound	= { x=2, y=3.5, z=2.2 };
			minBound	= { x=-2, y=-3.7, z=0 };
		};]]
	};
	Parts = {
		engine = {
			damageKey = "engine";
			damageMax = 450;
			hullAffection = 1;
			major = true;
		};
		hull = {
			damageKey = "hull";
			damageMax = 700;
			major = true;
		};
		leftTread = {
			damageKey = "tread";
			damageMax = 300;
			hullAffection = 1;
			major = true;
		};
		rightTread = {
			damageKey = "tread";
			damageMax = 300;
			hullAffection = 1;
			major = true;
		};
		turret = {
			damageKey = "turret";
			damageMax = 650;
			hullAffection = 1;
			major = true;
		};
	};
};
XVehicleInfo.US_apc_MP = XMergeTable(XCloneTable(XVehicleInfo.US_apc),{
	Parent = "US_apc";
});
XVehicleInfo.US_apc_GaussCannon = XMergeTable(XCloneTable(XVehicleInfo.US_apc),{
	Parent = "US_apc";
});
XVehicleInfo.US_apc_MOAC = XMergeTable(XCloneTable(XVehicleInfo.US_apc),{
	Parent = "US_apc";
});


XVehicleInfo.US_hovercraft = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
	};
	PartsByBounds = {
			--[[{
				part = "Hull";
				maxBound	= { x=0, y=0, z=0 };
				minBound	= { x=0, y=0, z=0 };
			};]]
	};
	Parts = {
			Hull = {
				damageKey = "hull";
				damageMax = 350;
				major = true;
			};
	};
};
XVehicleInfo.US_hovercraft_MP = XMergeTable(XCloneTable(XVehicleInfo.US_hovercraft),{
	Parent = "US_hovercraft";
});
XVehicleInfo.US_hovercraft_Gauss = XMergeTable(XCloneTable(XVehicleInfo.US_hovercraft),{
	Parent = "US_hovercraft";
});
XVehicleInfo.US_hovercraft_MOAC = XMergeTable(XCloneTable(XVehicleInfo.US_hovercraft),{
	Parent = "US_hovercraft";
});
XVehicleInfo.US_hovercraft_MOAR = XMergeTable(XCloneTable(XVehicleInfo.US_hovercraft),{
	Parent = "US_hovercraft";
});


XVehicleInfo.US_ltv = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
		[ 1] = "wheel1";
		[ 2] = "wheel2";
		[ 3] = "wheel3";
		[ 4] = "wheel4";
	};
	PartsByBounds = {
		{
			part = "headLightLeft";
			maxBound	= { x=-0.40, y= 3.34, z= 1.24 };
			minBound	= { x=-0.77, y= 3.08, z= 1.04 };
		};
		{
			part = "headLightRight";
			maxBound	= { x= 0.77, y= 3.34, z= 1.24 };
			minBound	= { x= 0.40, y= 3.08, z= 1.04 };
		};
		{
			part = "rearLightLeft";
			maxBound	= { x=-0.83, y=-2.15, z= 1.22 };
			minBound	= { x=-1.14, y=-2.38, z= 1.06 };
		};
		{
			part = "rearLightRight";
			maxBound	= { x= 1.14, y=-2.15, z= 1.22 };
			minBound	= { x= 0.83, y=-2.38, z= 1.06 };
		};
		{
			part = "FuelCan";
			maxBound	= { x=-0.31, y=-2.27, z= 1.50 };
			minBound	= { x=-0.65, y=-2.57, z= 1.00 };
		};
		{
			part = "Engine";
			maxBound	= { x= 1.20, y= 3.51, z= 1.69 };
			minBound	= { x=-1.22, y= 1.76, z= 0.56 };
		};
		{
			part = "sparewheel";
			maxBound	= { x= 0.90, y=-2.28, z= 1.90 };
			minBound	= { x=-0.27, y=-2.78, z= 0.90 };
		};
		--[[{
			part = "Hull";
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
			volume = 0;
		};]]
	};
	Parts = {
		Engine = {
			damageKey = "engine";
			damageMax = 160;
			hullAffection = 1;
			major = true;
		};
		FuelCan = {
			damageKey = "fuelcan";
			damageMax = 45;
			hullAffection = 1;
			major = true;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 250;
			major = true;
		};
		headLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		headLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightLeft = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		rearLightRight = {
			damageKey = "light";
			damageMax = 45;
			hullAffection = 1;
			major = false;
		};
		sparewheel = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0.5;
			major = false;
		};
		wheel1 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel2 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel3 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
		wheel4 = {
			damageKey = "wheel";
			damageMax = 100;
			hullAffection = 0;
			major = true;
		};
	};
};
XVehicleInfo.US_ltv_MP = XMergeTable(XCloneTable(XVehicleInfo.US_ltv),{
	Parent = "US_ltv";
});
XVehicleInfo.US_ltv_Unarmed = XMergeTable(XCloneTable(XVehicleInfo.US_ltv),{
	Parent = "US_ltv";
});
XVehicleInfo.US_ltv_Gauss = XMergeTable(XCloneTable(XVehicleInfo.US_ltv),{
	Parent = "US_ltv";
});
XVehicleInfo.US_ltv_MOAC = XMergeTable(XCloneTable(XVehicleInfo.US_ltv),{
	Parent = "US_ltv";
});
XVehicleInfo.US_ltv_MOAR = XMergeTable(XCloneTable(XVehicleInfo.US_ltv),{
	Parent = "US_ltv";
});


XVehicleInfo.US_smallboat = {
	Parent = "Vehicle_NoArmor";
	DefaultPart = "Hull";
	PartsById = {
	};
	PartsByBounds = {
		{
			part = "leftEngine";
			maxBound	= { x=-0.3, y=-4.48, z=0.31 };
			minBound	= { x=-0.9299, y=-5.3101, z=-1.4 };
		};
		{
			part = "rightEngine";
			maxBound	= { x=0.96, y=-4.48, z=0.31 };
			minBound	= { x=0.3301, y=-5.3101, z=-1.4 };
		};
		--[[{
			part = "Hull";
			maxBound	= { x=0, y=0, z=0 };
			minBound	= { x=0, y=0, z=0 };
		};]]
	};
	Parts = {
		Hull = {
			damageKey = "hull";
			damageMax = 250;
			major = true;
		};
		leftEngine = {
			damageKey = "engine";
			damageMax = 150;
			hullAffection = 0.2;
			major = true;
		};
		rightEngine = {
			damageKey = "engine";
			damageMax = 150;
			hullAffection = 0.2;
			major = true;
		};
	};
};
XVehicleInfo.US_smallboat_MP = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});
XVehicleInfo.US_smallboat_Asian = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});
XVehicleInfo.US_smallboat_Asian_MP = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});
XVehicleInfo.US_smallboat_Gauss = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});
XVehicleInfo.US_smallboat_MOAC = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});
XVehicleInfo.US_smallboat_MOAR = XMergeTable(XCloneTable(XVehicleInfo.US_smallboat),{
	Parent = "US_smallboat";
});

XVehicleInfo.US_tank = {
	Parent = "Vehicle_HeavyArmor";
	DefaultPart = "hull";
	PartsById = {
		[ 1] = "leftTread";
		[ 2] = "leftTread";
		[ 3] = "leftTread";
		[ 4] = "leftTread";
		[ 5] = "leftTread";
		[ 6] = "leftTread";
		[ 7] = "leftTread";
		[ 8] = "leftTread";
		[ 9] = "rightTread";
		[10] = "rightTread";
		[11] = "rightTread";
		[12] = "rightTread";
		[13] = "rightTread";
		[14] = "rightTread";
		[15] = "rightTread";
		[16] = "rightTread";
	};
	PartsByBounds = {
		{
			part = "engine";
			maxBound	= { x= 1.25, y=-3.10, z= 2.08 };
			minBound	= { x=-1.25, y=-5.75, z= 0.48 };
		};
		{
			part = "leftTread";
			maxBound	= { x=-1.20, y= 3.40, z= 1.78 };
			minBound	= { x=-2.15, y=-5.20, z=-0.22 };
		};
		{
			part = "rightTread";
			maxBound	= { x= 2.15, y= 3.40, z= 1.78 };
			minBound	= { x= 1.20, y=-5.20, z=-0.22 };
		};
		{
			part = "turret";
			maxBound	= { x= 3.70, y= 2.20, z= 3.00 };
			minBound	= { x=-3.70, y=-5.00, z= 1.95 };
		};
		--[[{
			part = "hull";
			maxBound	= { x= 2.74, y= 3.60, z= 1.95 };
			minBound	= { x=-2.74, y=-5.80, z= 0.25 };
		};]]
	};
	Parts = {
		engine = {
			damageKey = "engine";
			damageMax = 700;
			hullAffection = 1.5;
			major = true;
		};
		hull = {
			damageKey = "hull";
			damageMax = 1500;
			major = true;
		};
		leftTread = {
			damageKey = "tread";
			damageMax = 490;
			hullAffection = 0.75;
			major = true;
		};
		rightTread = {
			damageKey = "tread";
			damageMax = 490;
			hullAffection = 0.75;
			major = true;
		};
		turret = {
			damageKey = "turret";
			damageMax = 1100;
			hullAffection = 0.75;
			major = true;
		};
	};
};
XVehicleInfo.US_tank_MP = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_GaussCannon = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_TACCannon = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_MOAC = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_MOAR = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_Singularity = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_GaussRifle = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});
XVehicleInfo.US_tank_FullGauss = XMergeTable(XCloneTable(XVehicleInfo.US_tank),{
	Parent = "US_tank";
});


XVehicleInfo.US_trolley = {
	Parent = "Vehicle";
	DefaultPart = "Handle";
	PartsById = {
	};
	PartsByBounds = {
	};
	Parts = {
		Handle = {
			damageKey = "hull";
			damageMax = 0;
			major = false;
		};
	};
};


XVehicleInfo.US_vtol = {
	Parent = "Vehicle_LightArmor";
	DefaultPart = "Hull";
	PartsById = {
	};
	PartsByBounds = {
		{
			part = "leftEngine";
			maxBound	= { x=-3.75, y= 6.00, z= 4.75 };
			minBound	= { x=-4.75, y=-6.00, z=-4.75 };
		};
		{
			part = "rightEngine";
			maxBound	= { x= 4.75, y= 6.00, z= 4.75 };
			minBound	= { x= 3.75, y=-6.00, z=-4.75 };
		};
		{
			part = "Hull";
			maxBound	= { x= 5.00, y= 9.75, z= 4.75 };
			minBound	= { x=-5.00, y=-9.75, z=-4.75 };
		};
	};
	Parts = {
		leftEngine = {
			damageKey = "engine";
			damageMax = 0;
			major = false;
		};
		rightEngine = {
			damageKey = "engine";
			damageMax = 0;
			major = false;
		};
		Hull = {
			damageKey = "hull";
			damageMax = 800;
			major = true;
		};
	};
};
XVehicleInfo.US_vtol_MP = XMergeTable(XCloneTable(XVehicleInfo.US_vtol),{
	Parent = "US_vtol";
});
XVehicleInfo.US_vtol_VTOL_Ascension = XMergeTable(XCloneTable(XVehicleInfo.US_vtol),{
	Parent = "US_vtol";
});
XVehicleInfo.US_vtol_Unarmed = XMergeTable(XCloneTable(XVehicleInfo.US_vtol),{
	Parent = "US_vtol";
});


-- sanity check of ServerModInfo
for vehicleType,info in pairs(XVehicleInfo) do
	if (vehicleType~="Shooter") then
		if (not info.DefaultPart) then
			System.LogAlways("[SSM] missing DefaultPart in "..vehicleType);
		end
		if (not info.PartsById) then
			System.LogAlways("[SSM] missing PartsById in "..vehicleType);
		end
		if (not info.PartsByBounds) then
			System.LogAlways("[SSM] missing PartsByBounds in "..vehicleType);
		end
		if (not info.Parts) then
			System.LogAlways("[SSM] missing Parts in "..vehicleType);
		end
		if (not info.Parts[info.DefaultPart]) then
			System.LogAlways("[SSM] missing default part "..info.DefaultPart.." from "..vehicleType);
		end
		for id,part in pairs(info.PartsById) do
			if (not info.Parts[part]) then
				System.LogAlways("[SSM] missing part "..id.." => "..part.." from "..vehicleType);
			end
		end
		for i,bounds in pairs(info.PartsByBounds) do
			if (not info.Parts[bounds.part]) then
				System.LogAlways("[SSM] missing part #"..i.." => "..bounds.part.." from "..vehicleType);
			end
		end
	end
end

AEGIS.Info = true;